/*
 - Autor(es):
 -      Rommel A. Quintanilla C.
 -      Donia A. Ruelas A.
 -      Julio C. Ccahuana M.
 - Fecha: 16/05/07

 - Copyleft: (C) 2007
 - Este programa es software libre. Puede redistribuirlo y/o modificarlo bajo los
 - terminos de la Licencia Publica General de GNU segun es publicada por la Free
 - Software Foundation, de la version 2 de dicha Licencia.
 -
 - Este programa se distribuye con la esperanza de que sea util, pero SI NINGUNA
 - GARANTIA; tampoco las implicitas garantias de MERCANTILIDAD o ADECUACION A UN
 - PROPOSITO PARTICULAR. Consulte la GNU General Public License (GPL) para mas
 - detalles adjuntada a este programa. (Fichero: JuradoWeb-License.txt).
 -
 - Descripcion:
 - BeansDatos Envio Datos.
*/

package pe.edu.unap.jurado.BeansDatos;

import java.io.*;
import java.sql.*;
import java.util.*;
import pe.edu.unap.jurado.BeansDatos.*;
import pe.edu.unap.jurado.Beans.*;
import javax.xml.bind.*;

public class BeanEnvioEquipoDatos extends BeanDatos
{        
  public BeanEnvioEquipoDatos()
  throws SQLException
  {
   fichero = new String("BeanEnvioEquipoDatos.java");  
  }
  
  public String getUltimoEnvioEquipo()
  throws SQLException
  {
   instruccion=conexion.prepareStatement("SELECT MAX(idEnvioEquipo) FROM ENVIOEQUIPO;");
   ResultSet resultado=instruccion.executeQuery();
   resultado.next();
   if(resultado.getString(1)==null)
   {
    return "0";
   }
   else
    return resultado.getString(1);
  }
  
	public BeanEnvioEquipo getEnvioEquipo(String idEnvioEquipo)
	throws SQLException
	{
	 instruccion=conexion.prepareStatement("SELECT * FROM ENVIOEQUIPO WHERE idEnvioEquipo = ?;");
	 instruccion.setString(1,idEnvioEquipo);
	 ResultSet resultado=instruccion.executeQuery();
	 
	 BeanEnvioEquipo envioEquipo=new BeanEnvioEquipo();
	 resultado.next();
	 envioEquipo.setIdEnvioEquipo(resultado.getString(1));
	 envioEquipo.setIdEquipo(resultado.getString(2));
	 envioEquipo.setIdProblema(resultado.getString(3));
	 envioEquipo.setIdConcurso(resultado.getString(4));
	 envioEquipo.setLengProg(resultado.getString(5));
	 envioEquipo.setCodFuente(resultado.getString(6));
	 envioEquipo.setVeredicto(resultado.getString(7));
	 envioEquipo.setHoraEnvio(resultado.getString(8));
	 envioEquipo.setFechaEnvio(resultado.getString(9));
	return envioEquipo;
 }

 public List getListaEnvioEquipo(String idConcurso)
 throws SQLException
 {
  List lista=new ArrayList();
  instruccion=conexion.prepareStatement("SELECT * FROM ENVIOEQUIPO WHERE idConcurso = ? ORDER BY idEnvioEquipo DESC;");
  instruccion.setString(1,idConcurso);
  ResultSet resultado=instruccion.executeQuery();
	
  while(resultado.next())
	{
	 BeanEnvioEquipo envioEquipo=new BeanEnvioEquipo();
	 envioEquipo.setIdEnvioEquipo(resultado.getString(1));
	 envioEquipo.setIdEquipo(resultado.getString(2));
	 envioEquipo.setIdProblema(resultado.getString(3));
	 envioEquipo.setIdConcurso(resultado.getString(4));
	 envioEquipo.setLengProg(resultado.getString(5));
	 envioEquipo.setCodFuente(resultado.getString(6));
	 envioEquipo.setVeredicto(resultado.getString(7));
	 envioEquipo.setHoraEnvio(resultado.getString(8));
	 envioEquipo.setFechaEnvio(resultado.getString(9));
	 lista.add(envioEquipo);
	}
	return lista;
 }
		
 public void registrarEnvioEquipo(BeanEnvioEquipo envio)
 throws SQLException
 {
  instruccion=conexion.prepareStatement("INSERT INTO ENVIOEQUIPO (idEquipo,idProblema,idConcurso,lengProg,codFuente,veredicto,horaEnvio,fechaEnvio) VALUES(?,?,?,?,?,?,CURTIME(),CURDATE());");
  instruccion.setString(1,envio.getIdEquipo());
  instruccion.setString(2,envio.getIdProblema());
  instruccion.setString(3,envio.getIdConcurso());
  instruccion.setString(4,envio.getLengProg());
  instruccion.setString(5,envio.getCodFuente());
  instruccion.setString(6,envio.getVeredicto());
  instruccion.executeUpdate();
 }

 public void actualizarVeredicto(String idEnvioEquipo,String veredicto)
 throws SQLException
 {
  instruccion=conexion.prepareStatement("UPDATE ENVIOEQUIPO SET veredicto = ? WHERE idEnvioEquipo = ?;");
  instruccion.setString(1,veredicto);
  instruccion.setString(2,idEnvioEquipo);
  instruccion.executeUpdate();
 }
	    
 protected void finalize()
 {
  try
  {
   instruccion.close();
   conexion.close();
  }
  catch(SQLException error)
  {
   error.printStackTrace();
  }
 }
}
